package com.colin.datamove.entity;

import java.util.Date;
import java.util.List;

public class AssetUserModel extends MoveFlag {
    private static final long serialVersionUID = -3288340460945770942L;

    /**
     * 直接新增的管理员绑定的人员id
     */
    private Long userId;

    private Long id;

    /**
     * 用户账号
     */
    private String account;

    /**
     * 用户编码
     */
    private String userCode;

    /**
     * 密码
     */
    private String password;

    /**
     * 密码加盐
     */
    private String salt;

    /**
     * 用户手机号
     */
    private String phone;

    /**
     * 身份证号
     */
    private String personalNo;

    /**
     * 用户邮箱
     */
    private String email;

    /**
     * 用户名称
     */
    private String name;

    /**
     * 一级公司id
     */
    private Long rootCompanyId;

    /**
     * 所属公司id
     */
    private Long companyId;

    /**
     * 所属部门id（一级部门或二级部门 只表示最底层部门id）
     */
    private Long departmentId;

    /**
     * 办公地点
     */
    private String officeLocation;

    /**
     * 注册方式  0：系统内新增，1：手动添加
     */
    private Integer registerSource;

    /**
     * 注册ip
     */
    private String registerIp;

    /**
     * 是否是管理员 0否1是
     */
    private Integer isAdmin;

    /**
     * 是否是部门负责人 0否1是
     */
    private Integer isLeader;

    /**
     * 是否离职
     */
    private Integer isLeave;

    /**
     * 员工办理离职时间
     */
    private Date leaveDate;

    /**
     * 用户名下资产数
     */
    private Integer assetCount;

    /**
     * 用户管理资产数
     */
    private Integer adminAssetCount;

    /**
     * 用户待审批单数
     */
    private Integer approvalCount;

    /**
     * 云资产管理员对应的商城账号id
     */
    private Long mallCustomerId;

    /**
     * 用户状态 0：可用  1：不可用
     */
    private Integer status;

    /**
     * 数据状态 0 为正常
     */
    private Integer dataStatus;
    /**
     * 钉钉unionId
     */
    private String unionId;

    /**
     * 用户激活状态(具体值请参考下面的枚举值)
     */
    @Deprecated
    private Integer activationStatus;

    /**
     * 来自商城状态(具体指请参考下面的枚举值)
     */
    private Integer fromMallStatus;

    private Date cdate;

    private Date mdate;

    /**
     * accountType 账号类型
     */
    private Integer accountType;

    /**
     * accountGroupId 用户所属组
     */
    private Integer accountGroupId;

    /**
     * 备注
     */
    private String remark;

    /**
     * outType 外部用户类型
     */
    private Integer outType;

    /**
     * outUserId 外部用户id
     */
    private String outUserId;

    private String outDepartmentId;

    /**
     * 钉钉同步部门主管字段（{4144381:false,72197051:true}）
     */
    private String isLeaderInDepts;

    /**
     * 账号是否允许修改
     */
    private Integer accountEditable;

    /**
     * 是否具有集团账户权限 0否 1是
     */
    private Integer isSuperAdmin;
    /**
     * 组织权限名称
     */
    private String edzCompanyName;

    /**
     * 是否已绑定集团账户
     */
    private boolean haveBindGroupAccount;

    /**
     * 子公司 ID
     */
    private List<Long> edzCompanyId;

    /**
     * 用户appleId
     */
    private String appleId;

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getUserCode() {
        return userCode;
    }

    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSalt() {
        return salt;
    }

    public void setSalt(String salt) {
        this.salt = salt;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPersonalNo() {
        return personalNo;
    }

    public void setPersonalNo(String personalNo) {
        this.personalNo = personalNo;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getRootCompanyId() {
        return rootCompanyId;
    }

    public void setRootCompanyId(Long rootCompanyId) {
        this.rootCompanyId = rootCompanyId;
    }

    public Long getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }

    public Long getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(Long departmentId) {
        this.departmentId = departmentId;
    }

    public String getOfficeLocation() {
        return officeLocation;
    }

    public void setOfficeLocation(String officeLocation) {
        this.officeLocation = officeLocation;
    }

    public Integer getRegisterSource() {
        return registerSource;
    }

    public void setRegisterSource(Integer registerSource) {
        this.registerSource = registerSource;
    }

    public String getRegisterIp() {
        return registerIp;
    }

    public void setRegisterIp(String registerIp) {
        this.registerIp = registerIp;
    }

    public Integer getIsAdmin() {
        return isAdmin;
    }

    public void setIsAdmin(Integer isAdmin) {
        this.isAdmin = isAdmin;
    }

    public Integer getIsLeader() {
        return isLeader;
    }

    public void setIsLeader(Integer isLeader) {
        this.isLeader = isLeader;
    }

    public Integer getIsLeave() {
        return isLeave;
    }

    public void setIsLeave(Integer isLeave) {
        this.isLeave = isLeave;
    }

    public Date getLeaveDate() {
        return leaveDate;
    }

    public void setLeaveDate(Date leaveDate) {
        this.leaveDate = leaveDate;
    }

    public Integer getAssetCount() {
        return assetCount;
    }

    public void setAssetCount(Integer assetCount) {
        this.assetCount = assetCount;
    }

    public Integer getAdminAssetCount() {
        return adminAssetCount;
    }

    public void setAdminAssetCount(Integer adminAssetCount) {
        this.adminAssetCount = adminAssetCount;
    }

    public Integer getApprovalCount() {
        return approvalCount;
    }

    public void setApprovalCount(Integer approvalCount) {
        this.approvalCount = approvalCount;
    }

    public Long getMallCustomerId() {
        return mallCustomerId;
    }

    public void setMallCustomerId(Long mallCustomerId) {
        this.mallCustomerId = mallCustomerId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getDataStatus() {
        return dataStatus;
    }

    public void setDataStatus(Integer dataStatus) {
        this.dataStatus = dataStatus;
    }

    public String getUnionId() {
        return unionId;
    }

    public void setUnionId(String unionId) {
        this.unionId = unionId;
    }

    public Integer getActivationStatus() {
        return activationStatus;
    }

    public void setActivationStatus(Integer activationStatus) {
        this.activationStatus = activationStatus;
    }

    public Integer getFromMallStatus() {
        return fromMallStatus;
    }

    public void setFromMallStatus(Integer fromMallStatus) {
        this.fromMallStatus = fromMallStatus;
    }

    public Date getCdate() {
        return cdate;
    }

    public void setCdate(Date cdate) {
        this.cdate = cdate;
    }

    public Date getMdate() {
        return mdate;
    }

    public void setMdate(Date mdate) {
        this.mdate = mdate;
    }

    public Integer getAccountType() {
        return accountType;
    }

    public void setAccountType(Integer accountType) {
        this.accountType = accountType;
    }

    public Integer getAccountGroupId() {
        return accountGroupId;
    }

    public void setAccountGroupId(Integer accountGroupId) {
        this.accountGroupId = accountGroupId;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getOutType() {
        return outType;
    }

    public void setOutType(Integer outType) {
        this.outType = outType;
    }

    public String getOutUserId() {
        return outUserId;
    }

    public void setOutUserId(String outUserId) {
        this.outUserId = outUserId;
    }

    public String getOutDepartmentId() {
        return outDepartmentId;
    }

    public void setOutDepartmentId(String outDepartmentId) {
        this.outDepartmentId = outDepartmentId;
    }

    public String getIsLeaderInDepts() {
        return isLeaderInDepts;
    }

    public void setIsLeaderInDepts(String isLeaderInDepts) {
        this.isLeaderInDepts = isLeaderInDepts;
    }

    public Integer getAccountEditable() {
        return accountEditable;
    }

    public void setAccountEditable(Integer accountEditable) {
        this.accountEditable = accountEditable;
    }

    public Integer getIsSuperAdmin() {
        return isSuperAdmin;
    }

    public void setIsSuperAdmin(Integer isSuperAdmin) {
        this.isSuperAdmin = isSuperAdmin;
    }

    public String getEdzCompanyName() {
        return edzCompanyName;
    }

    public void setEdzCompanyName(String edzCompanyName) {
        this.edzCompanyName = edzCompanyName;
    }

    public boolean isHaveBindGroupAccount() {
        return haveBindGroupAccount;
    }

    public void setHaveBindGroupAccount(boolean haveBindGroupAccount) {
        this.haveBindGroupAccount = haveBindGroupAccount;
    }

    public List<Long> getEdzCompanyId() {
        return edzCompanyId;
    }

    public void setEdzCompanyId(List<Long> edzCompanyId) {
        this.edzCompanyId = edzCompanyId;
    }

    public String getAppleId() {
        return appleId;
    }

    public void setAppleId(String appleId) {
        this.appleId = appleId;
    }
}
